package com.sbp.message.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.dap.dao.BasePo;
import com.dap.dao.mybatis.DaoSupportImpl;
import com.sbp.message.dao.IDaoService;

public class DaoServiceImpl extends DaoSupportImpl implements IDaoService {
    // 扩展的方法
    public <IdType> int batchTccStatusConfirm(Class<?> namespaceClass, List<IdType> idList) {
        String statementPostfix = namespaceClass.getName() + ".batchTccStatusConfirm";

        Map<String, List<IdType>> parameter = new HashMap<String, List<IdType>>();
        parameter.put("list", idList);
        return getSqlSession().update(statementPostfix, parameter);
    }

    // 扩展的方法
    public <IdType,T extends BasePo> int batchUpdateById(Class<?> namespaceClass, List<IdType> idList, T parameterPo) {
        String statementPostfix = namespaceClass.getName() + ".batchUpdateById";

        Map<String, Object> parameter = new HashMap<String, Object>();
        parameter.put("list", idList);
        parameter.put("s", parameterPo);
        return getSqlSession().update(statementPostfix, parameter);
    }

    @Override
    public <ResultType> List<ResultType> selectIdList(Class<?> namespaceClass, String methodName, Map<String, Object> parameter) {
        String statementPostfix = namespaceClass.getName() + "." + methodName;
        return getSqlSession().selectList(statementPostfix, parameter);
    }

}
